Application and system computer programs typically provide access to help. Often the help is available as a menu item in a menu bar provided by the application or systems program currently being used by the user. The user, if confused or otherwise in need of assistance, can select the menu item labeled “help”, and, it is hoped, receive information that answers the computer user's question or otherwise clears up any confusion. If the help is well written and presented, it can be of considerable aid to the computer user, truly helping to boost the user's productivity and efficiency.
One approach to making help more useful to a computer user is to automatically make the help “context sensitive”. Context sensitive help is tailored to the computer user's use of the application or system program. For example, any given application or systems program will typically include a variety of components which are accessible through a graphical user interface (GUI). At any given time, the computer user is typically only using a subset of those components. The user may, for example, have a particular dialog box presented on the display, which dialog box includes a variety of components that the user may select. Context sensitive help tracks the user's navigation through the program, and in response to that tracking, provides help information that relates to the particular component of the program being used at that time. Thus, when the user selects the help item from the menu bar, he or she is not simply presented with an index to the entire help database or a request to enter a search keyword for particular help. Rather, help information is presented that focuses on that aspect of the program being currently used by the user. Of course, should the user desire to search the entire help database or to view an entire index, the user can do so.
In one version of context sensitive help, the help information is automatically and constantly rendered, that is, displayed on the user's screen, typically in a separate pane that is located adjacent to a window with which the user interacts to run the application program. The contents of this separate help pane are updated as the user references various components of the graphical user interface of the application program, such as by moving a cursor over that component.
As is evident from the discussion above, help is provided to a user to boost the computer user's productivity and efficiency. The goal is to save, not waste, the user's time. Unfortunately, the effect at times can be the opposite. Computer systems are now often distributed. The Internet, a worldwide collection of networked computers, may be the best known example of a distributed computer system. Often, the computer user operates a client computer that communicates with a remote server that actually stores and runs the application program and help data. Unfortunately, due to delays in retrieving the help, such as a delay in transmitting information over networks, there can be a noticeable time lag in the rendering or retrieving of help information. The help displayed may not be relevant to the GUI component referenced. Furthermore, such delays can even interfere with the user's use of the application program, as the client computer can be occupied receiving help information over the network. In such circumstances, context sensitive help can be a nuisance and a hindrance rather than an aid. The user may even be tempted to shut off the help function completely so as to avoid the distraction of constantly loading possible irrelevant help data, and to free up system resources to avoid waiting to use the graphical user interface of the application program.
Accordingly, it is an object of the present invention to address one or more of the foregoing disadvantages and drawbacks of the prior art.
It is a further object of the present invention to provide methods and apparatus for improving the presentation of help to a computer user.